package com.comprehensive.common.po;

import java.time.LocalDate;

/**
 * MovieEpisodes 类用于表示电影剧集的实体信息，对应数据库中的 movie_episodes 表。
 * 该类实现了 Serializable 接口，支持对象的序列化操作。
 */
public class MovieEpisodes extends BaseEntity {
    /**
     * 所属季的 ID，关联到 movie_seasons 表中的 id 字段。
     */
    private Long seasonId;

    /**
     * 剧集在所属季中的编号。
     */
    private Integer episodeNumber;

    /**
     * 剧集的标题。
     */
    private String title;

    /**
     * 剧集的发布日期。
     */
    private LocalDate releaseDate;

    /**
     * 剧集的播放时长，单位为分钟。
     */
    private Integer runtime;

    /**
     * 剧集的内容简介。
     */
    private String summary;

    /**
     * 剧集的播放链接。
     */
    private String playUrl;

    /**
     * 剧集开场时间，单位可能为秒。
     */
    private Integer openingTime;

    /**
     * 剧集结束时间，单位可能为秒。
     */
    private Integer endingTime;
    
    /**
     * 获取所属季的ID
     * @return 季ID
     */
    public Long getSeasonId() {
        return seasonId;
    }
    
    /**
     * 设置所属季的ID
     * @param seasonId 季ID
     */
    public void setSeasonId(Long seasonId) {
        this.seasonId = seasonId;
    }
    
    /**
     * 获取剧集在所属季中的编号
     * @return 剧集编号
     */
    public Integer getEpisodeNumber() {
        return episodeNumber;
    }
    
    /**
     * 设置剧集在所属季中的编号
     * @param episodeNumber 剧集编号
     */
    public void setEpisodeNumber(Integer episodeNumber) {
        this.episodeNumber = episodeNumber;
    }
    
    /**
     * 获取剧集的标题
     * @return 剧集标题
     */
    public String getTitle() {
        return title;
    }
    
    /**
     * 设置剧集的标题
     * @param title 剧集标题
     */
    public void setTitle(String title) {
        this.title = title;
    }
    
    /**
     * 获取剧集的发布日期
     * @return 发布日期
     */
    public LocalDate getReleaseDate() {
        return releaseDate;
    }
    
    /**
     * 设置剧集的发布日期
     * @param releaseDate 发布日期
     */
    public void setReleaseDate(LocalDate releaseDate) {
        this.releaseDate = releaseDate;
    }
    
    /**
     * 获取剧集的播放时长
     * @return 播放时长（分钟）
     */
    public Integer getRuntime() {
        return runtime;
    }
    
    /**
     * 设置剧集的播放时长
     * @param runtime 播放时长（分钟）
     */
    public void setRuntime(Integer runtime) {
        this.runtime = runtime;
    }
    
    /**
     * 获取剧集的内容简介
     * @return 内容简介
     */
    public String getSummary() {
        return summary;
    }
    
    /**
     * 设置剧集的内容简介
     * @param summary 内容简介
     */
    public void setSummary(String summary) {
        this.summary = summary;
    }
    
    /**
     * 获取剧集的播放链接
     * @return 播放链接
     */
    public String getPlayUrl() {
        return playUrl;
    }
    
    /**
     * 设置剧集的播放链接
     * @param playUrl 播放链接
     */
    public void setPlayUrl(String playUrl) {
        this.playUrl = playUrl;
    }
    
    /**
     * 获取剧集开场时间
     * @return 开场时间（秒）
     */
    public Integer getOpeningTime() {
        return openingTime;
    }
    
    /**
     * 设置剧集开场时间
     * @param openingTime 开场时间（秒）
     */
    public void setOpeningTime(Integer openingTime) {
        this.openingTime = openingTime;
    }
    
    /**
     * 获取剧集结束时间
     * @return 结束时间（秒）
     */
    public Integer getEndingTime() {
        return endingTime;
    }
    
    /**
     * 设置剧集结束时间
     * @param endingTime 结束时间（秒）
     */
    public void setEndingTime(Integer endingTime) {
        this.endingTime = endingTime;
    }
}